/*
 * Copyright (c) 2002-2007, Mairie de Paris
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *  1. Redistributions of source code must retain the above copyright notice
 *     and the following disclaimer.
 *
 *  2. Redistributions in binary form must reproduce the above copyright notice
 *     and the following disclaimer in the documentation and/or other materials
 *     provided with the distribution.
 *
 *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
 *     contributors may be used to endorse or promote products derived from
 *     this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * License 1.0
 */
package fr.paris.lutece.plugins.customisation.business.tab;

import fr.paris.lutece.portal.business.portlet.Portlet;

import java.sql.Timestamp;

import java.util.ArrayList;
import java.util.List;


/**
 * This class represents business objects CustomisationTab.
 */
public class CustomisationTab
{
    private int _nIdTab;
    private String _strNameTab;
    private String _strUserName;
    private int _nOrderTab;
    private int _nIdTemplate;
    private String _strCodeTheme;
    private Timestamp _dateCreation;
    private Timestamp _dateUpdate;
    private String _strPictureTemplate;
    private List<Portlet> _listPortlets = new ArrayList<Portlet>(  );
    private int firstColumnWidth;
    private int secondColumnWidth;
    private int thirdColumnWidth;
   

	/**
     * Returns the list of portlets for the current tab
     *
     * @return the list of portlets for the current tab
     */
    public List<Portlet> getPortlets(  )
    {
        return _listPortlets;
    }

    /**
     * Sets the list of portlets for the current tab
     *
     * @param listPortlets the new list of portlets
     */
    public void setPortlets( ArrayList<Portlet> listPortlets )
    {
        _listPortlets = listPortlets;
    }

    /**
     * Returns the identifier of the template
     *
     * @return the template identifier
     */
    public int getIdTemplate(  )
    {
        return _nIdTemplate;
    }

    /**
     * Sets the identifier of the template to the specified int.
     *
     * @param nIdTemplate the new identifier
     */
    public void setIdTemplate( int nIdTemplate )
    {
        _nIdTemplate = nIdTemplate;
    }

    /**
     * Returns the date of creation of this portlet
     *
     * @return the update date
     */
    public Timestamp getDateCreation(  )
    {
        return _dateCreation;
    }

    /**
     * Sets the date of creation of this portlet with the specified date.
     *
     * @param dateCreation the new date
     */
    public void setDateCreation( Timestamp dateCreation )
    {
        _dateCreation = dateCreation;
    }

    /**
     * Returns the identifier of this tab
     *
     * @return the tab identifier
     */
    public int getIdTab(  )
    {
        return _nIdTab;
    }

    /**
     * Sets the identifier of the tab to the specified int.
     *
     * @param nIdTab the new identifier
     */
    public void setIdTab( int nIdTab )
    {
        _nIdTab = nIdTab;
    }

    /**
     * Returns the identifier of the user
     *
     * @return the user identifier
     */
    public String getUserId(  )
    {
        return _strUserName;
    }

    /**
     * Sets the identifier of the user to the specified String.
     *
     * @param strUserName the new identifier
     */
    public void setUserId( String strUserName )
    {
        _strUserName = strUserName;
    }

    /**
     * Returns the order of this tab in the page which contains it.
     *
     * @return the order
     */
    public int getOrderTab(  )
    {
        return _nOrderTab;
    }

    /**
     * Sets the order of this tab in its page with the specified int.
     *
     * @param nOrderTab the new order
     */
    public void setOrderTab( int nOrderTab )
    {
        _nOrderTab = nOrderTab;
    }

    /**
     * Returns the code of the theme of this tab.
     *
     * @return the code theme
     */
    public String getCodeTheme(  )
    {
        return _strCodeTheme;
    }

    /**
     * Sets the code of the theme of this tab.
     *
     * @param strCodeTheme the new code of the theme
     */
    public void setCodeTheme( String strCodeTheme )
    {
        _strCodeTheme = strCodeTheme;
    }

    /**
     * Returns the name of this tab
     *
     * @return the portlet name
     */
    public String getNameTab(  )
    {
        return _strNameTab;
    }

    /**
     * Sets the name of this tab to the specified string.
     *
     * @param strNameTab the new name
     */
    public void setNameTab( String strNameTab )
    {
        _strNameTab = strNameTab;
    }

    /**
     * Sets the date of update of this portlet with the specified date.
     *
     * @param dateUpdate the new date
     */
    public void setDateUpdate( Timestamp dateUpdate )
    {
        _dateUpdate = dateUpdate;
    }

    /**
     * Returns the date of update of this portlet
     *
     * @return the update date
     */
    public Timestamp getDateUpdate(  )
    {
        return _dateUpdate;
    }

    /**
     * Returns the name of the picture associated to the page template type in the administration unit
     *
     * @return The name of the picture as a string
     */
    public String getPictureTemplate(  )
    {
        return _strPictureTemplate;
    }

    /**
     * Sets the name of the picture associated to the page template type in the administration unit
     *
     * @param strPicture The picture name
     */
    public void setPictureTemplate( String strPicture )
    {
        _strPictureTemplate = strPicture;
    }
    
    /**
     * Get the first column width
     * 
     * @return The witdh of the first column in pixels
     */
    public int getFirstColumnWidth() {
		return firstColumnWidth;
	}

    /**
     * Sets the width of the first column to the specified integer
     *
     * @param firstColumnWidth The new width of the first column
     */
	public void setFirstColumnWidth(int firstColumnWidth) {
		this.firstColumnWidth = firstColumnWidth;
	}

	/**
     * Get the second column width
     * 
     * @return The witdh of the second column in pixels
     */
	public int getSecondColumnWidth() {
		return secondColumnWidth;
	}

	/**
     * Sets the width of the second column to the specified integer
     *
     * @param secondColumnWidth The new width of the second column
     */
	public void setSecondColumnWidth(int secondColumnWidth) {
		this.secondColumnWidth = secondColumnWidth;
	}

	/**
     * Get the third column width
     * 
     * @return The witdh of the third column in pixels
     */
	public int getThirdColumnWidth() {
		return thirdColumnWidth;
	}

	/**
     * Sets the width of the third column to the specified integer
     *
     * @param thirdColumnWidth The new width of the third column
     */
	public void setThirdColumnWidth(int thirdColumnWidth) {
		this.thirdColumnWidth = thirdColumnWidth;
	}
}
